Github Actionsでcacheする
from GitHub Actions
GitHub Actionsでのnpm ci時間を短縮する
actions/setup-nodeに仕組みがあるので楽
cacheの制限 ref
cacheの保存期間は7日まで
1つのリポジトリに対するcacheの合計サイズは最大10GB
cacheの数自体には制限はない
#WIP
使っているものによっても方法が異なるらしい
cache機構を用意しているactionもある
何個か種類があるっぽい
ドキュメントがわかりにくいmrsekut.icon
成果物とキャッシングは、GitHubにファイルを保存できるようにするので似ていますが、それぞれの機能のユースケースは異なっており、入れ替えて使うことはできません。ref
成果物とキャッシュの2種類がある?
#??
ここでのcacheって何に対するcache?
前回実行した時と、package.lock.jsonの内容が変わってなかったら再利用?
異なるjob間でも共有されるの?
2つのjobがあって、どちらも同じpackage.jsonに対してnpm ciしてるときとか
cacheを使っているかどうかの確認方法
https://docs.github.com/ja/actions/using-workflows/storing-workflow-data-as-artifacts
https://zenn.dev/hankei6km/articles/manage-cache-in-github-actions
ghでcacheの管理
actions/cache
同等の環境でjobを実行したい時に、setupなどする方法
例えば、同じnode環境でtscとjestを実行したい場合、環境構築部分は共通なので、時間短縮できるはず
https://github.com/smeijer/unimported/blob/c5564c0bb24e8f0f888234496e23aa8e9b117172/.github/workflows/ci.yml
こことかでやってるが、ちゃんと調べないとわからない
needs: [setup]とかだと思っている
たぶんcacheの仕組みを理解しないといけない
cacheする歩法
https://github.com/smeijer/unimported/blob/c5564c0bb24e8f0f888234496e23aa8e9b117172/.github/workflows/ci.yml
ここで見た
https://docs.github.com/ja/actions/using-workflows/caching-dependencies-to-speed-up-workflows
https://qiita.com/qualitia_cdev/items/407b0df9c0a0f0f45bbc
https://zenn.dev/mallowlabs/articles/github-actions-cache-scope
https://blog.toshimaru.net/delete-action-cache/
cacheの削除